package com.thinkverse.search.dto;

import com.thinkverse.common.dto.BaseDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

import jakarta.validation.constraints.NotBlank;
import java.util.Map;

/**
 * 搜索请求DTO
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class SearchRequestDTO extends BaseDTO {
    
    /**
     * 搜索关键词
     */
    @NotBlank(message = "搜索关键词不能为空")
    private String keyword;
    
    /**
     * 页码
     */
    private Integer page = 0;
    
    /**
     * 每页大小
     */
    private Integer size = 10;
    
    /**
     * 用户角色（用于分级检索）
     */
    private String userRole;
    
    /**
     * 高级搜索参数
     */
    private Map<String, Object> advancedParams;
    
    /**
     * 排序字段
     */
    private String sortField;
    
    /**
     * 排序方向
     */
    private String sortDirection;
}
